package Repositorio;


import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import org.uqbar.commons.utils.Observable;

import dominio.Dificil;
import dominio.Dificultad;
import dominio.Facil;
import dominio.Media;


@SuppressWarnings("serial")
@Observable
public class RepositorioDificultad implements Serializable {
	private static RepositorioDificultad instance;
	private List<Dificultad> data = new ArrayList<Dificultad>();

	public static RepositorioDificultad getInstance() {
		if (instance == null) {
			instance = new RepositorioDificultad();
		}
		return instance;
	}

	private RepositorioDificultad() {
		this.create(new Facil());
		this.create(new Media());
		this.create(new Dificil());
	}

	public void create(Dificultad modelo) {
		this.data.add(modelo);
	}

	public Dificultad get(String descripcion) {
		for (Dificultad dificultad : this.data) {
			if (dificultad.getDescripcion().equals(descripcion)) {
				return dificultad;
			}
		}

		throw new RuntimeException("No se encontró dificultad: " + descripcion);
	}

	public List<Dificultad> getDificultades() {
		return this.data;
	}
	
}
